package com.ruoyi.test.api;

import com.ruoyi.test.povodto.R;
import com.ruoyi.test.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

/**
 * <h1>最简单的session验证示例</h1>
 * <pre></pre>
 * @className AC1Controller
 * @author dujg
 * @date 2024/7/30 13:47
 * @copyright : Sysware Technology Co., Ltd 
 */
@RestController
@RequestMapping("/api")
public class AC1Controller {
    @Autowired
    private UserService userService;
    /**
     * <h1>用户登录</h1>
     * <pre>1代表需要走过滤器</pre>
     * @author dujg
     * @date 2024/7/30 13:48
     * @param user
     * @param password 用户
     * @param session  密码
     * @return com.ruoyi.test.povodto.R
     */
    @PostMapping("/user/login")
    public R login(String user, String password, HttpSession session)
    {
        System.out.println("数据库验证user&password数据库验证成功");
        if(true){
            //可以存数据库，redis等方式来解决分布式session不共享的问题
            session.setAttribute("_"+user, user);
            //返回session给前端，前端后续的接口都带上，可以放cookie里
            return R.ok("_"+user);
        }
        return R.fail();
    }
    @GetMapping("/user/getInfo")
    public R getInfo(String user, HttpSession session)
    {
        //服务不重启，session就不会丢失，内存区域，查看session是否有用户，有就通过
        //获取接口直接从cookie里拿，或者前端传过来，判断session是否存在
        if(true){
            return R.ok(session.getAttribute("_"+user));
        }
        return R.fail();
    }
}